{
 "metadata": {
  "signature": "sha256:1f4d9d16ef90f00a84c58fbc86bc3730791bea34add5b5a9da8029453cb7c2b3"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "strategy",
     "collapsed": false,
     "has_detail": true,
     "id": "956DB4B2E812415B8440E1B0A5087B11",
     "input": "from CAL.PyCAL import *\nimport numpy as np\nfrom pandas import DataFrame\nstart = '2015-01-01'                                 # \u56de\u6d4b\u8d77\u59cb\u65f6\u95f4\nend = '2015-08-26'                                  # \u56de\u6d4b\u7ed3\u675f\u65f6\u95f4\nbenchmark = 'HS300'                               # \u7b56\u7565\u53c2\u8003\u6807\u51c6\nuniverse = DynamicUniverse('HS300') + ['IFL0', 'IFL1']       # \u8bc1\u5238\u6c60\uff0c\u652f\u6301\u80a1\u7968\u548c\u57fa\u91d1\ncapital_base = 10000000                        # \u8d77\u59cb\u8d44\u91d1\nfreq = 'd'                                         # \u7b56\u7565\u7c7b\u578b\uff0c'd'\u8868\u793a\u65e5\u95f4\u7b56\u7565\u4f7f\u7528\u65e5\u7ebf\u56de\u6d4b\uff0c'm'\u8868\u793a\u65e5\u5185\u7b56\u7565\u4f7f\u7528\u5206\u949f\u7ebf\u56de\u6d4b\nrefresh_rate = 1\ncal = Calendar('China.SSE')\nperiod = Period('-1B')\n\n# \u8d26\u6237\u521d\u59cb\u5316\u914d\u7f6e\nstock_commission = Commission(buycost=0.0, sellcost=0.0, unit='perValue')\nfutures_commission = Commission(buycost=0.0, sellcost=0.0, unit='perValue')\nslippage = Slippage(value=0, unit='perValue')\n\naccounts = {\n    'stock_account': AccountConfig(account_type='security', capital_base=capital_base, commission=stock_commission, slippage=slippage),\n    'futures_account': AccountConfig(account_type='futures', capital_base=capital_base, commission=futures_commission, slippage=slippage)\n}\n\n#\u7b56\u7565\u7b97\u6cd5\ndef initialize(context):                   \n    context.signal_generator = SignalGenerator(Signal('NetProfitGrowRate'), Signal('ROE'), Signal('RSI'))\n    context.need_to_switch_position = False\n    context.contract_holding = ''\n\ndef handle_data(context):             \n    # log.info(context.current_date)\n    universe = context.get_universe(exclude_halt=True)\n    \n    yesterday = context.previous_date    \n    signal_composite = DataFrame()\n    \n    # \u51c0\u5229\u6da6\u589e\u957f\u7387\n    NetProfitGrowRate = context.signal_result['NetProfitGrowRate']\n    signal_NetProfitGrowRate = standardize(neutralize(winsorize(NetProfitGrowRate), yesterday.strftime('%Y%m%d')))  \n    signal_composite['NetProfitGrowRate'] = signal_NetProfitGrowRate\n\n    # \u6743\u76ca\u6536\u76ca\u7387\n    ROE = context.signal_result['ROE']\n    signal_ROE = standardize(neutralize(winsorize(ROE), yesterday.strftime('%Y%m%d')))      \n    signal_composite['ROE'] = signal_ROE\n\n    # RSI\n    RSI = context.signal_result['RSI']\n    signal_RSI = standardize(neutralize(winsorize(RSI), yesterday.strftime('%Y%m%d')))      \n    signal_composite['RSI'] = signal_RSI\n\n    #\u3000\u4fe1\u53f7\u5408\u6210\uff0c\u5404\u56e0\u5b50\u6743\u91cd\n    weight = np.array([0.6, 0.3, 0.1])   \n    signal_composite['total_score'] = np.dot(signal_composite, weight)\n\n    # \u7ec4\u5408\u6784\u5efa\n    total_score = signal_composite['total_score'].to_dict()\n    wts = simple_long_only(total_score, yesterday.strftime('%Y%m%d')) \n    handle_stock_orders(context, wts)\n    handle_futures_orders(context)\n    # handle_futures_position_switch(context)\n    \n# \u8ba2\u5355\u59d4\u6258\ndef handle_stock_orders(context, wts):    \n    account = context.get_account('stock_account')\n    \n    # \u5148\u5356\u51fa\n    sell_list = account.get_positions()\n    for stk in sell_list:\n        account.order_to(stk, 0)\n\n    # \u518d\u4e70\u5165\n    buy_list = wts.keys()\n    total_money = account.portfolio_value \n    prices = account.reference_price  \n    for stk in buy_list:\n        if np.isnan(prices[stk]) or prices[stk] == 0:  # \u505c\u724c\u6216\u8005\u8fd8\u6ca1\u6709\u4e0a\u5e02\u7b49\u539f\u56e0\u4e0d\u80fd\u4ea4\u6613\n            continue\n        account.order(stk, int(total_money * wts[stk] / prices[stk] /100)*100)      \ndef handle_futures_orders(context):      \n    stock_account = context.get_account('stock_account')\n    future_account = context.get_account(\"futures_account\")\n    \n    # \u5c06\u4e3b\u529b\u8fde\u7eed\u5408\u7ea6\u6620\u5c04\u4e3a\u5b9e\u9645\u5408\u7ea6\n    contract_current_month = context.get_symbol('IFL0')\n    \n    # \u5224\u65ad\u662f\u5426\u9700\u8981\u79fb\u4ed3\u6362\u6708\n    contract_holding = context.contract_holding\n    if not contract_holding:\n        contract_holding = contract_current_month\n        \n    if contract_holding:\n        last_trade_date = get_asset(contract_holding).last_trade_date   \n\n        # \u5f53\u6708\u5408\u7ea6\u79bb\u4ea4\u5272\u65e5\u53ea\u67093\u5929\n        days_to_expire = (last_trade_date- context.current_date).days\n        if days_to_expire == 3:        \n            log.info(u'\u8ddd\u79bb%s\u5230\u671f\uff0c\u8fd8\u6709%s\u5929' % (contract_holding, days_to_expire))\n            contract_next_month = context.get_symbol('IFL1')                \n            futures_position = future_account.get_position(contract_holding)\n            if futures_position:\n                current_holding = futures_position.short_amount\n                log.info(u'\u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:%s,\u5f00\u4ed3\u65b0\u5408\u7ea6:%s,\u624b\u6570:%s]' % (contract_holding, contract_next_month, int(current_holding)))\n                if current_holding == 0:\n                    return\n                future_account.order(contract_holding, current_holding, \"close\")\n                future_account.order(contract_next_month, -1 * current_holding, \"open\")\n                context.contract_holding = contract_next_month\n                return    \n    stock_position = stock_account.get_positions()\n    \n    # \u6709\u591a\u5934\u80a1\u7968\u4ed3\u4f4d\uff0c\u4f7f\u7528\u671f\u8d27\u8fdb\u884c\u7a7a\u5934\u5bf9\u51b2\n    if stock_position:  \n        stock_positions_value = stock_account.portfolio_value - stock_account.cash\n        # print u'\u5f53\u524d\u80a1\u7968\u591a\u5934\u5e02\u503c', stock_positions_value      \n        futures_position = future_account.get_position(contract_holding)\n\n        # \u6ca1\u6709\u7a7a\u5934\u6301\u4ed3\uff0c\u5219\u5efa\u4ed3\u8fdb\u884c\u5bf9\u51b2\n        if not futures_position:              \n            contract_current_month = context.get_symbol('IFL0')\n            multiplier = get_asset(contract_current_month).multiplier\n            futures_price = context.current_price(contract_current_month)\n            total_hedging_amount = int(stock_positions_value / futures_price / multiplier)\n            log.info(u'%s\u6ca1\u6709\u6301\u4ed3\uff0c\u51c6\u5907\u5efa\u4ed3\u3002\u7a7a\u5934\u5f00\u4ed3%s\u624b' % (contract_current_month, contract_holding))\n            future_account.order(contract_current_month, -1 * total_hedging_amount, \"open\")\n            context.contract_holding = contract_current_month\n            \n        # \u5df2\u7ecf\u6709\u7a7a\u5934\u6301\u4ed3\uff0c\u5219\u5224\u65ad\u662f\u5426\u9700\u8981\u8c03\u4ed3\n        else:\n            contract_holding = context.contract_holding\n            contract_current_month = context.get_symbol('IFL0')\n            futures_price = context.current_price(contract_current_month)\n            multiplier = get_asset(contract_holding).multiplier\n            # \u8ba1\u7b97\u5f53\u524d\u5bf9\u51b2\u9700\u8981\u7684\u671f\u8d27\u624b\u6570\n            total_hedging_amount = int(stock_positions_value / futures_price / multiplier)\n            hedging_amount_diff = total_hedging_amount - futures_position.short_amount\n            # \u8c03\u4ed3\u9608\u503c\uff0c\u53ef\u4ee5\u9002\u5f53\u653e\u5927\uff0c\u9632\u6b62\u53cd\u590d\u8c03\u4ed3\n            threshold = 2\n            if hedging_amount_diff >= threshold:\n                log.info(u'\u7a7a\u5934\u8c03\u4ed3\u3002[\u5408\u7ea6\u540d:%s,\u5f53\u524d\u7a7a\u5934\u624b\u6570:%s,\u76ee\u6807\u7a7a\u5934\u624b\u6570:%s]' % (contract_holding, int(futures_position.short_amount), total_hedging_amount))\n                # \u591a\u5f00\u7a7a\u4ed3\n                future_account.order(contract_holding, -1 * int(hedging_amount_diff), \"open\")\n            elif hedging_amount_diff <= -threshold:\n                log.info(u'\u7a7a\u5934\u8c03\u4ed3\u3002[\u5408\u7ea6\u540d:%s,\u5f53\u524d\u7a7a\u5934\u624b\u6570:%s,\u76ee\u6807\u7a7a\u5934\u624b\u6570:%s]' % (contract_holding, int(futures_position.short_amount), total_hedging_amount))\n                # \u5e73\u6389\u90e8\u5206\u7a7a\u4ed3\n                future_account.order(contract_holding, int(abs(hedging_amount_diff)), \"close\") \n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-01-06 00:00:00"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " [INFO] IF1501\u6ca1\u6709\u6301\u4ed3\uff0c\u51c6\u5907\u5efa\u4ed3\u3002\u7a7a\u5934\u5f00\u4ed3IF1501\u624b\n2015-01-13 00:00:00"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " [INFO] \u8ddd\u79bbIF1501\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-01-13 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1501,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1502,\u624b\u6570:9]\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "The contract IF1502 is expiring and the system closes relevant position.\n2015-02-26 00:00:00"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " [INFO] IF1503\u6ca1\u6709\u6301\u4ed3\uff0c\u51c6\u5907\u5efa\u4ed3\u3002\u7a7a\u5934\u5f00\u4ed3IF1502\u624b\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-03-17 00:00:00 [INFO] \u8ddd\u79bbIF1503\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-03-17 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1503,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1504,\u624b\u6570:9]\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-04-14 00:00:00 [INFO] \u8ddd\u79bbIF1504\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-04-14 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1504,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1505,\u624b\u6570:9]\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-05-12 00:00:00 [INFO] \u8ddd\u79bbIF1505\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-05-12 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1505,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1506,\u624b\u6570:9]\nThe stock 600832.XSHG is expiring and the system closes relevant position."
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-06-16 00:00:00 [INFO] \u8ddd\u79bbIF1506\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-06-16 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1506,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1507,\u624b\u6570:9]\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-07-14 00:00:00 [INFO] \u8ddd\u79bbIF1507\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-07-14 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1507,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1508,\u624b\u6570:9]\n"
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "2015-08-18 00:00:00 [INFO] \u8ddd\u79bbIF1508\u5230\u671f\uff0c\u8fd8\u67093\u5929\n2015-08-18 00:00:00 [INFO] \u79fb\u4ed3\u6362\u6708\u3002[\u5e73\u4ed3\u65e7\u5408\u7ea6:IF1508,\u5f00\u4ed3\u65b0\u5408\u7ea6:IF1509,\u624b\u6570:9]\n"
      },
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 1,
       "text": "'{\"information\": 0.48458, \"benchmark_cumulative_return\": {\"1437350400000\": 0.1774061822, \"1440460800000\": -0.1388860433, \"1426550400000\": 0.0632225055, \"1426464000000\": 0.0486627369, \"1434585600000\": 0.3952896531, \"1420761600000\": 0.003681683, \"1429488000000\": 0.2796522635, \"1429833600000\": 0.3307939814, \"1425859200000\": 0.0011432743, \"1433721600000\": 0.515050754, \"1427760000000\": 0.1464438225, \"1430092800000\": 0.3604936455, \"1420588800000\": 0.0311513961, \"1433376000000\": 0.4662833113, \"1420416000000\": 0.0305146715, \"1433894400000\": 0.5024181384, \"1424044800000\": -0.0096867032, \"1436486400000\": 0.162108945, \"1439424000000\": 0.1533099773, \"1422403200000\": -0.0023742752, \"1424995200000\": 0.0110733478, \"1428019200000\": 0.180215694, \"1438560000000\": 0.0836302356, \"1424908800000\": 0.0092226017, \"1428537600000\": 0.2061374589, \"1430179200000\": 0.3418927982, \"1420502400000\": 0.030378837, \"1425513600000\": -0.0105752877, \"1429747200000\": 0.3416182992, \"1427328000000\": 0.117805366, \"1430784000000\": 0.3008537769, \"1430265600000\": 0.3510814413, \"1427932800000\": 0.1672661311, \"1428624000000\": 0.2294217692, \"1436400000000\": 0.1029841158, \"1422835200000\": -0.0508672189, \"1440547200000\": -0.1437633535, \"1436918400000\": 0.1225479737, \"1429228800000\": 0.3006556848, \"1435017600000\": 0.3544096714, \"1435795200000\": 0.1625164487, \"1435190400000\": 0.3318908456, \"1426032000000\": -0.0025638776, \"1431907200000\": 0.2947129221, \"1433203200000\": 0.4607508822, \"1439251200000\": 0.1508213747, \"1435104000000\": 0.3810205139, \"1432857600000\": 0.3699001899, \"1437523200000\": 0.1764293052, \"1423526400000\": -0.0358744775, \"1423699200000\": -0.0257066935, \"1420675200000\": 0.0072303613, \"1437091200000\": 0.1748264572, \"1421280000000\": 0.0199252344, \"1422230400000\": 0.0210204007, \"1433462400000\": 0.4801865462, \"1438819200000\": 0.0843708171, \"1435622400000\": 0.2658078903, \"1424822400000\": -0.0155587187, \"1438128000000\": 0.1122528447, \"1438646400000\": 0.1172832519, \"1432080000000\": 0.3455886306, \"1431648000000\": 0.3066918338, \"1423008000000\": -0.0373375291, \"1436832000000\": 0.1636917008, \"1433808000000\": 0.5047810941, \"1435536000000\": 0.1861610036, \"1427673600000\": 0.1569087446, \"1438214400000\": 0.0797184828, \"1431561600000\": 0.3302676224, \"1432252800000\": 0.4011732712, \"1436313600000\": 0.0365983626, \"1431388800000\": 0.3434662154, \"1425254400000\": 0.0191187166, \"1430697600000\": 0.3548763198, \"1421884800000\": 0.0095933169, \"1423785600000\": -0.0180773182, \"1438905600000\": 0.1056212875, \"1437609600000\": 0.202929782, \"1425600000000\": -0.0156181464, \"1421366400000\": 0.0287063738, \"1423094400000\": -0.0471911957, \"1421798400000\": 0.0042957685, \"1440028800000\": 0.0644489786, \"1437436800000\": 0.1789326232, \"1439769600000\": 0.1539916971, \"1439337600000\": 0.1365182768, \"1427414400000\": 0.1239462208, \"1431302400000\": 0.3273669882, \"1425340800000\": -0.0073039384, \"1435708800000\": 0.203556885, \"1427068800000\": 0.1240480968, \"1438041600000\": 0.0784962546, \"1429574400000\": 0.3071700847, \"1431475200000\": 0.3352652029, \"1421712000000\": -0.0389081164, \"1436227200000\": 0.1115804636, \"1436745600000\": 0.1918952036, \"1432771200000\": 0.3679702069, \"1439510400000\": 0.1527657901, \"1435276800000\": 0.2270941871, \"1422921600000\": -0.0272404923, \"1430352000000\": 0.3441651975, \"1429660800000\": 0.3413126714, \"1434672000000\": 0.3122333185, \"1433289600000\": 0.4555778488, \"1429142400000\": 0.2772836481, \"1426809600000\": 0.101553325, \"1438732800000\": 0.094289005, \"1431043200000\": 0.2899756913, \"1432684800000\": 0.4662861412, \"1434326400000\": 0.4775321121, \"1427846400000\": 0.167017101, \"1425427200000\": -0.0008178373, \"1432598400000\": 0.4712356136, \"1434412800000\": 0.4332871118, \"1423612800000\": -0.0281828447, \"1422489600000\": -0.0146899434, \"1428883200000\": 0.2511128531, \"1434499200000\": 0.4542311056, \"1432512000000\": 0.443100877, \"1439942400000\": 0.0997325757, \"1425945600000\": -0.003707152, \"1426636800000\": 0.0883915205, \"1427155200000\": 0.1243282556, \"1437955200000\": 0.0806577223, \"1430870400000\": 0.2885409386, \"1439856000000\": 0.0825483698, \"1421020800000\": -0.0056965625, \"1436140800000\": 0.1315407886, \"1423180800000\": -0.0626225695, \"1431993600000\": 0.3388817984, \"1426118400000\": 0.0167331218, \"1423440000000\": -0.053142448, \"1422316800000\": 0.0116647942, \"1422576000000\": -0.0281064377, \"1427241600000\": 0.1150915044, \"1435881600000\": 0.0996706012, \"1437696000000\": 0.1818397661, \"1432166400000\": 0.3699426382, \"1421625600000\": -0.0505276324, \"1426723200000\": 0.0866030319, \"1440115200000\": 0.0157981272, \"1434067200000\": 0.5097786745, \"1421193600000\": -0.0088547164, \"1433116800000\": 0.4365015805, \"1421107200000\": -0.0055663877, \"1439164800000\": 0.1558291427, \"1424131200000\": -0.0032232413, \"1437004800000\": 0.1312065789, \"1429056000000\": 0.2396348314, \"1428451200000\": 0.2156628586, \"1430956800000\": 0.2649849592, \"1428969600000\": 0.2559547897, \"1428364800000\": 0.2055431827, \"1421971200000\": 0.0107592304, \"1433980800000\": 0.5017050069, \"1438300800000\": 0.0800826893, \"1440374400000\": -0.0730608907, \"1426204800000\": 0.0237569014}, \"benchmark_annualized_return\": -0.21535, \"turnover_rate\": 15.02486, \"max_drawdown\": 0.03841, \"beta\": 0.02557, \"sharpe\": 0.23833, \"alpha\": 0.02878, \"volatility\": 0.09391, \"annualized_return\": 0.05738, \"cumulative_return\": {\"1437350400000\": 0.06771064, \"1440460800000\": 0.04147239, \"1426550400000\": 0.035806005, \"1426464000000\": 0.0309683, \"1434585600000\": 0.06320668, \"1420761600000\": 0.004989725, \"1429488000000\": 0.031775735, \"1429833600000\": 0.04362251, \"1425859200000\": 0.03013706, \"1433721600000\": 0.06714267, \"1427760000000\": 0.04193961, \"1430092800000\": 0.04103968, \"1420588800000\": 0.01145546, \"1433376000000\": 0.071845435, \"1420416000000\": 0.01004049, \"1433894400000\": 0.072538305, \"1424044800000\": 0.028045435, \"1436486400000\": 0.044842605, \"1439424000000\": 0.053232105, \"1422403200000\": 0.018130445, \"1424995200000\": 0.030646705, \"1428019200000\": 0.04674851, \"1438560000000\": 0.06758044, \"1424908800000\": 0.02905717, \"1428537600000\": 0.050235955, \"1430179200000\": 0.041248675, \"1420502400000\": 0.011293325, \"1425513600000\": 0.03700474, \"1429747200000\": 0.04648311, \"1427328000000\": 0.043430665, \"1430784000000\": 0.02974349, \"1430265600000\": 0.0364548, \"1427932800000\": 0.04711621, \"1428624000000\": 0.04848335, \"1436400000000\": 0.048830115, \"1422835200000\": 0.01607533, \"1440547200000\": 0.03635511, \"1436918400000\": 0.069414175, \"1429228800000\": 0.03286419, \"1435017600000\": 0.070318955, \"1435795200000\": 0.054773125, \"1435190400000\": 0.06741197, \"1426032000000\": 0.03410233, \"1431907200000\": 0.05071831, \"1433203200000\": 0.0511547, \"1439251200000\": 0.04871366, \"1435104000000\": 0.07378147, \"1432857600000\": 0.05253051, \"1437523200000\": 0.07215391, \"1423526400000\": 0.02313888, \"1423699200000\": 0.022977165, \"1420675200000\": 0.00845684, \"1437091200000\": 0.04893873, \"1421280000000\": 0.01288358, \"1422230400000\": 0.01657774, \"1433462400000\": 0.06928782, \"1438819200000\": 0.048662525, \"1435622400000\": 0.068442735, \"1424822400000\": 0.028204035, \"1438128000000\": 0.06974078, \"1438646400000\": 0.05841669, \"1432080000000\": 0.04674701, \"1431648000000\": 0.038164485, \"1423008000000\": 0.01634905, \"1436832000000\": 0.071456645, \"1433808000000\": 0.07626608, \"1435536000000\": 0.070691245, \"1427673600000\": 0.04078353, \"1438214400000\": 0.05971489, \"1431561600000\": 0.0474571, \"1432252800000\": 0.0521485, \"1436313600000\": 0.06214762, \"1431388800000\": 0.05023535, \"1425254400000\": 0.033860175, \"1430697600000\": 0.03618924, \"1421884800000\": 0.01820942, \"1423785600000\": 0.024823165, \"1438905600000\": 0.04836418, \"1437609600000\": 0.054132345, \"1425600000000\": 0.03289978, \"1421366400000\": 0.01377712, \"1423094400000\": 0.016269205, \"1421798400000\": 0.01848001, \"1440028800000\": 0.045833415, \"1437436800000\": 0.06948768, \"1439769600000\": 0.058753615, \"1439337600000\": 0.046840185, \"1427414400000\": 0.04524559, \"1431302400000\": 0.04394367, \"1425340800000\": 0.032003875, \"1435708800000\": 0.05653801, \"1427068800000\": 0.04119218, \"1438041600000\": 0.05989953, \"1429574400000\": 0.0372595, \"1431475200000\": 0.052103925, \"1421712000000\": 0.01962349, \"1436227200000\": 0.04403928, \"1436745600000\": 0.0644915, \"1432771200000\": 0.040581585, \"1439510400000\": 0.052786965, \"1435276800000\": 0.069562135, \"1422921600000\": 0.017005575, \"1430352000000\": 0.03386461, \"1429660800000\": 0.038116165, \"1434672000000\": 0.053456555, \"1433289600000\": 0.05747127, \"1429142400000\": 0.03690326, \"1426809600000\": 0.039716035, \"1438732800000\": 0.052989725, \"1431043200000\": 0.039469645, \"1432684800000\": 0.05072543, \"1434326400000\": 0.072339635, \"1427846400000\": 0.041316335, \"1425427200000\": 0.033284925, \"1432598400000\": 0.049475395, \"1434412800000\": 0.07348789, \"1423612800000\": 0.023572795, \"1422489600000\": 0.016167425, \"1428883200000\": 0.04605494, \"1434499200000\": 0.07332529, \"1432512000000\": 0.049026645, \"1439942400000\": 0.053972605, \"1425945600000\": 0.03294142, \"1426636800000\": 0.03399641, \"1427155200000\": 0.043849385, \"1437955200000\": 0.04738373, \"1430870400000\": 0.027704215, \"1439856000000\": 0.05248708, \"1421020800000\": 0.00827674, \"1436140800000\": 0.042852805, \"1423180800000\": 0.020180705, \"1431993600000\": 0.04997542, \"1426118400000\": 0.030215845, \"1423440000000\": 0.01974048, \"1422316800000\": 0.01780226, \"1422576000000\": 0.01487185, \"1427241600000\": 0.041996935, \"1435881600000\": 0.037174315, \"1437696000000\": 0.05887467, \"1432166400000\": 0.054655135, \"1421625600000\": 0.02622319, \"1426723200000\": 0.03740954, \"1440115200000\": 0.034984325, \"1434067200000\": 0.076322015, \"1421193600000\": 0.0134752, \"1433116800000\": 0.046040905, \"1421107200000\": 0.011547505, \"1439164800000\": 0.046704555, \"1424131200000\": 0.029376705, \"1437004800000\": 0.061058645, \"1429056000000\": 0.036746225, \"1428451200000\": 0.051813895, \"1430956800000\": 0.028450375, \"1428969600000\": 0.048626595, \"1428364800000\": 0.051203775, \"1421971200000\": 0.01806815, \"1433980800000\": 0.07276843, \"1438300800000\": 0.061750135, \"1440374400000\": 0.0363822, \"1426204800000\": 0.032821865}}'"
      }
     ],
     "trading_days": "",
     "trusted": true
    }
   ],
   "metadata": {}
  }
 ]
}